Durant ce TD, nous avons fait plusieurs exercices sur les tableaux, dont certains ne sont malheureusement pas corrigés ici, donc j'espère que vous avez pris des notes !
Je vous ai également expliqué comment utiliser doctest sur vos installations Python respectives.
Pour utiliser doctest avec Python IDLE import doctest # importe le module doctest dans votre code, c'est donc l'équivalent de python -m doctest doctest.testmod() # dis à doctest d'exécuter tous les tests du fichier
Vous pouvez mettres des Flags dans les parenthèses de testmod() pour personnaliser l'affichage des résultats. Cf. la doc de doctest.
In [1]:
%load_ext doctestmagic
In [2]:
# -*- coding: utf-8 -*-
# Exercice : vérifier que deux tableaux sont égaux
def tableaux_egaux(a, b):
"""
:entrée a: tableau de float
:entrée b: tableau de float
:sortie te: bool
:post-cond: te est True si et seulement si len(a) == len(b) et
∀ i ∈ [0;len(a)[, a[i] == b[i]
>>> tableaux_egaux([1.0, 2.0, 4.0, 3.0], [1.0, 2.0, 4.0, 3.0])
True
>>> tableaux_egaux([1.0, 2.0, 4.0, 3.0], [9.0, 2.0, 4.0, 3.0])
False
>>> tableaux_egaux([1.0, 2.0, 4.0, 3.0], [1.0, 2.0, 4.0])
False
>>> tableaux_egaux([1.0, 2.0, 4.0], [1.0, 2.0, 4.0, 3.0])
False
"""
te = True
if len(a) == len(b):
for i in range(len(a)):
if a[i] != b[i]:
te = False
else:
te = False
return te
# Exercice : vérifier qu'un tableau est préfixe d'un autre.
def tableaux_prefixe(a, b):
'''
:entrée a: tableau de float
:entrée b: tableau de float
:sortie te: bool
:post-cond: te est True si et seulement si len(a) >= len(b) et
∀ i ∈ [0;len(b)[, a[i] == b[i]
>>> tableaux_prefixe([1.0, 2.0, 4.0, 3.0], [1.0, 2.0, 4.0, 3.0])
True
>>> tableaux_prefixe([1.0, 2.0, 4.0, 3.0], [9.0, 2.0, 4.0, 3.0])
False
>>> tableaux_prefixe([1.0, 2.0, 4.0, 3.0], [1.0, 2.0, 4.0])
True
>>> tableaux_prefixe([1.0, 2.0, 4.0], [1.0, 2.0, 4.0, 3.0])
False
'''
te = True
if len(a)>=len(b):
for i in range (0, len(b)):
if a[i]!=b[i]:
te = False
else:
te = False
return te
%doctest tableaux_prefixe
%doctest tableaux_egaux
In [ ]: